<!--
  ~ ============LICENSE_START=======================================================
  ~  Copyright (C) 2021 Nordix Foundation
  ~  ================================================================================
  ~  Licensed under the Apache License, Version 2.0 (the "License");
  ~  you may not use this file except in compliance with the License.
  ~  You may obtain a copy of the License at
  ~
  ~        http://www.apache.org/licenses/LICENSE-2.0
  ~  Unless required by applicable law or agreed to in writing, software
  ~  distributed under the License is distributed on an "AS IS" BASIS,
  ~  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~  See the License for the specific language governing permissions and
  ~  limitations under the License.
  ~
  ~  SPDX-License-Identifier: Apache-2.0
  ~  ============LICENSE_END=========================================================
  -->

<div>
  <form class="w-sdc-form" [formGroup]="formGroup">
    <div class="i-sdc-form-item" *ngIf="showPropertySourceDropdown()">
      <label class="i-sdc-form-label required">{{'TOSCA_FUNCTION_PROPERTY_SOURCE_LABEL' | translate}}</label>
      <select formControlName="propertySource" (change)="onPropertySourceChange()">
        <option *ngFor="let propertySource of propertySourceList"
                [ngValue]="propertySource">{{propertySource}}</option>
      </select>
    </div>
    <div *ngIf="showPropertyDropdown()" class="i-sdc-form-item">
      <label class="i-sdc-form-label required">{{dropdownValuesLabel}}</label>
      <select formControlName="selectedProperty" (change)="onPropertyValueChange()">
        <option *ngFor="let value of propertyDropdownList" [ngValue]="value">{{value.propertyLabel}}</option>
      </select>
    </div>
    <div *ngIf="dropDownErrorMsg" class="tosca-error">{{dropDownErrorMsg}}</div>
  </form>
  <div class="i-sdc-form-item" *ngFor="let indexVal of indexListValues; index as i">
    <label class="i-sdc-form-label required" *ngIf="indexVal.indexFlag">Index</label>
    <input type="text" *ngIf="indexVal.indexFlag" [(ngModel)]="indexVal.indexValue" (change)="indexTokenChange(indexVal)"
           (input)="onChangeIndexValue(indexVal, $event.target.value)"/>
    <span id ="error" class="input-error"></span>
    <label class="i-sdc-form-label required" *ngIf="indexVal.nestedFlag">{{dropdownValuesLabel}}</label>
    <select [(ngModel)]="indexVal.indexProperty" *ngIf="indexVal.nestedFlag" (change)="onSubPropertyValueChange(indexVal,i)">
      <option *ngFor="let value of indexVal.subPropertyArray" [ngValue]="value">{{value.propertyLabel}}</option>
    </select>
  </div>
  <loader [display]="isLoading" [size]="'medium'" [relative]="true"></loader>
</div>
